
package info.neocron.service.PublicInterface;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;


/**
 * <p>Java class for Character complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="Character">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="Id" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="Name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="World" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="CharInfo" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
 *         &lt;element name="CharSysInfo" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
 *         &lt;element name="GoguardianItems" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
 *         &lt;element name="LastConnectTime" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
 *         &lt;element name="Online" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="FactionId" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="FactionSympathy" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="ClanId" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="ClanLevel" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="ShowInfo" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Character", propOrder = {
    "id",
    "name",
    "world",
    "charInfo",
    "charSysInfo",
    "goguardianItems",
    "lastConnectTime",
    "online",
    "factionId",
    "factionSympathy",
    "clanId",
    "clanLevel",
    "showInfo"
})
@XmlSeeAlso({
    ExtendedCharacter.class
})
public class Character {

    @XmlElement(name = "Id")
    protected int id;
    @XmlElement(name = "Name")
    protected String name;
    @XmlElement(name = "World")
    protected int world;
    @XmlElement(name = "CharInfo")
    protected byte[] charInfo;
    @XmlElement(name = "CharSysInfo")
    protected byte[] charSysInfo;
    @XmlElement(name = "GoguardianItems")
    protected byte[] goguardianItems;
    @XmlElement(name = "LastConnectTime", required = true)
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar lastConnectTime;
    @XmlElement(name = "Online")
    protected String online;
    @XmlElement(name = "FactionId")
    protected int factionId;
    @XmlElement(name = "FactionSympathy")
    protected int factionSympathy;
    @XmlElement(name = "ClanId")
    protected int clanId;
    @XmlElement(name = "ClanLevel")
    protected int clanLevel;
    @XmlElement(name = "ShowInfo")
    protected int showInfo;

    /**
     * Gets the value of the id property.
     * 
     */
    public int getId() {
        return id;
    }

    /**
     * Sets the value of the id property.
     * 
     */
    public void setId(int value) {
        this.id = value;
    }

    /**
     * Gets the value of the name property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getName() {
        return name;
    }

    /**
     * Sets the value of the name property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setName(String value) {
        this.name = value;
    }

    /**
     * Gets the value of the world property.
     * 
     */
    public int getWorld() {
        return world;
    }

    /**
     * Sets the value of the world property.
     * 
     */
    public void setWorld(int value) {
        this.world = value;
    }

    /**
     * Gets the value of the charInfo property.
     * 
     * @return
     *     possible object is
     *     byte[]
     */
    public byte[] getCharInfo() {
        return charInfo;
    }

    /**
     * Sets the value of the charInfo property.
     * 
     * @param value
     *     allowed object is
     *     byte[]
     */
    public void setCharInfo(byte[] value) {
        this.charInfo = value;
    }

    /**
     * Gets the value of the charSysInfo property.
     * 
     * @return
     *     possible object is
     *     byte[]
     */
    public byte[] getCharSysInfo() {
        return charSysInfo;
    }

    /**
     * Sets the value of the charSysInfo property.
     * 
     * @param value
     *     allowed object is
     *     byte[]
     */
    public void setCharSysInfo(byte[] value) {
        this.charSysInfo = value;
    }

    /**
     * Gets the value of the goguardianItems property.
     * 
     * @return
     *     possible object is
     *     byte[]
     */
    public byte[] getGoguardianItems() {
        return goguardianItems;
    }

    /**
     * Sets the value of the goguardianItems property.
     * 
     * @param value
     *     allowed object is
     *     byte[]
     */
    public void setGoguardianItems(byte[] value) {
        this.goguardianItems = value;
    }

    /**
     * Gets the value of the lastConnectTime property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getLastConnectTime() {
        return lastConnectTime;
    }

    /**
     * Sets the value of the lastConnectTime property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setLastConnectTime(XMLGregorianCalendar value) {
        this.lastConnectTime = value;
    }

    /**
     * Gets the value of the online property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOnline() {
        return online;
    }

    /**
     * Sets the value of the online property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOnline(String value) {
        this.online = value;
    }

    /**
     * Gets the value of the factionId property.
     * 
     */
    public int getFactionId() {
        return factionId;
    }

    /**
     * Sets the value of the factionId property.
     * 
     */
    public void setFactionId(int value) {
        this.factionId = value;
    }

    /**
     * Gets the value of the factionSympathy property.
     * 
     */
    public int getFactionSympathy() {
        return factionSympathy;
    }

    /**
     * Sets the value of the factionSympathy property.
     * 
     */
    public void setFactionSympathy(int value) {
        this.factionSympathy = value;
    }

    /**
     * Gets the value of the clanId property.
     * 
     */
    public int getClanId() {
        return clanId;
    }

    /**
     * Sets the value of the clanId property.
     * 
     */
    public void setClanId(int value) {
        this.clanId = value;
    }

    /**
     * Gets the value of the clanLevel property.
     * 
     */
    public int getClanLevel() {
        return clanLevel;
    }

    /**
     * Sets the value of the clanLevel property.
     * 
     */
    public void setClanLevel(int value) {
        this.clanLevel = value;
    }

    /**
     * Gets the value of the showInfo property.
     * 
     */
    public int getShowInfo() {
        return showInfo;
    }

    /**
     * Sets the value of the showInfo property.
     * 
     */
    public void setShowInfo(int value) {
        this.showInfo = value;
    }

}
